﻿using System;
namespace Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik {
    
    
    public partial class AmetnikOtsing : global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IsikOtsing, global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IAmetnikOtsing {
        
        private global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IJuriidilineIsikOtsing @__organisatsiooniyksus;
        
        private System.Collections.Generic.List<System.Int64?> @__ametKL = new System.Collections.Generic.List<System.Int64?>();
        
        private string @__eesnimi;
        
        private string @__organisatsiooniyksusCSV;
        
        private System.Int64? @__tootamiseObjektID;
        
        public AmetnikOtsing() {
        }
        
        /// <summary>
        /// All parameters
        /// </summary>
        public AmetnikOtsing(global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IJuriidilineIsikOtsing @organisatsiooniyksus, System.Collections.Generic.List<System.Int64?> @ametKL, string @eesnimi, string @organisatsiooniyksusCSV, System.Int64? @tootamiseObjektID, System.Boolean? @eXCLUDE, System.Int64? @objektID, string @kood, string @koosnimi, string @eelmisedKoosnimedCSV, string @nimi, System.Collections.Generic.List<System.Int64?> @menetlusSubjektiLiikKL, string @muudeRiikideKoodid, System.Collections.Generic.List<System.Int64?> @osalineKL, System.Boolean? @ainultSysteemsed) : 
                base(@eXCLUDE, @objektID, @kood, @koosnimi, @eelmisedKoosnimedCSV, @nimi, @menetlusSubjektiLiikKL, @muudeRiikideKoodid, @osalineKL, @ainultSysteemsed) {
            this.@__organisatsiooniyksus = @organisatsiooniyksus;
            this.@__ametKL = @ametKL;
            this.@__eesnimi = @eesnimi;
            this.@__organisatsiooniyksusCSV = @organisatsiooniyksusCSV;
            this.@__tootamiseObjektID = @tootamiseObjektID;
        }
        
        /// <summary>
        /// Copy Constructor
        /// </summary>
        protected AmetnikOtsing(IAmetnikOtsing @ametnikOtsing) : 
                base(@ametnikOtsing.EXCLUDE, @ametnikOtsing.ObjektID, @ametnikOtsing.Kood, @ametnikOtsing.Koosnimi, @ametnikOtsing.EelmisedKoosnimedCSV, @ametnikOtsing.Nimi, @ametnikOtsing.MenetlusSubjektiLiikKL, @ametnikOtsing.MuudeRiikideKoodid, @ametnikOtsing.OsalineKL, @ametnikOtsing.AinultSysteemsed) {
            this.@__organisatsiooniyksus = @ametnikOtsing.Organisatsiooniyksus;
            this.@__ametKL = @ametnikOtsing.AmetKL;
            this.@__eesnimi = @ametnikOtsing.Eesnimi;
            this.@__organisatsiooniyksusCSV = @ametnikOtsing.OrganisatsiooniyksusCSV;
            this.@__tootamiseObjektID = @ametnikOtsing.TootamiseObjektID;
        }
        
        /// <summary>
        /// Copy Constructor
        /// </summary>
        public AmetnikOtsing(IIsikOtsing @isikOtsing) : 
                base(@isikOtsing) {
        }
        
        public virtual global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IJuriidilineIsikOtsing Organisatsiooniyksus {
            get {
                return this.@__organisatsiooniyksus;
            }
            set {
                this.@__organisatsiooniyksus = value;
            }
        }
        
        public virtual System.Collections.Generic.List<System.Int64?> AmetKL {
            get {
                return this.@__ametKL;
            }
            set {
                this.@__ametKL = value;
            }
        }
        
        public virtual string Eesnimi {
            get {
                return this.@__eesnimi;
            }
            set {
                this.@__eesnimi = value;
            }
        }
        
        public virtual string OrganisatsiooniyksusCSV {
            get {
                return this.@__organisatsiooniyksusCSV;
            }
            set {
                this.@__organisatsiooniyksusCSV = value;
            }
        }
        
        public virtual System.Int64? TootamiseObjektID {
            get {
                return this.@__tootamiseObjektID;
            }
            set {
                this.@__tootamiseObjektID = value;
            }
        }
    }
}
